/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.





Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/

 

#ifndef RenewalModel_h
#define RenewalModel_h

@interface RelationResource :NSObject

/// 业务线
@property (strong,nonatomic,nonnull)  NSString*  appCode;

/// 产品线
@property (strong,nonatomic,nonnull)  NSString*  serviceCode;

/// 资源ID
@property (strong,nonatomic,nonnull)  NSString*  resourceId;

/// 资源名称
@property (strong,nonatomic,nonnull)  NSString*  resourceName;

/// 地域
@property (strong,nonatomic,nonnull)  NSString*  region;

/// 资源计费类型(CONFIG-按配置,FLOW-按用量,MONTHLY-包年包月)
@property (strong,nonatomic,nonnull)  NSString*  billingType;

/// 资源到期时间
@property (strong,nonatomic,nonnull)  NSString*  expireTime;

/// 倒计时
@property (strong,nonatomic,nonnull)  NSNumber*  lastTime;

/// 开通自动续费状态(UNOPENED-未开通,OPENED-已开通)
@property (strong,nonatomic,nonnull)  NSString*  autoRenewStatus;

/// 扩展字段，包括数据库类型、资源特殊说明等
@property (strong,nonatomic,nonnull)  NSString*  extendField;


-(id) initWithAppCode:(NSString*) appCode
    serviceCode:(NSString*)serviceCode
    resourceId:(NSString*)resourceId
    resourceName:(NSString*)resourceName
    region:(NSString*)region
    billingType:(NSString*)billingType
    expireTime:(NSString*)expireTime
    lastTime:(NSNumber*)lastTime
    autoRenewStatus:(NSString*)autoRenewStatus
    extendField:(NSString*)extendField;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SetExpiredRenewParam :NSObject

/// 业务线-必传
@property (strong,nonatomic,nonnull)  NSString*  appCode;

/// 产品线-必传
@property (strong,nonatomic,nonnull)  NSString*  serviceCode;

/// 地域-必传
@property (strong,nonatomic,nonnull)  NSString*  region;

/// 资源id列表，英文逗号分隔-必传
@property (strong,nonatomic,nonnull)  NSString*  resourceIds;

/// 过期资源续费状态-必传：YES-续费；NO-不续费
@property (strong,nonatomic,nonnull)  NSString*  renewStatus;

/// 绑定资源过期续费状态-必传：YES-续费；NO-不续费
@property (strong,nonatomic,nonnull)  NSString*  relationStatus;


-(id) initWithAppCode:(NSString*) appCode
    serviceCode:(NSString*)serviceCode
    region:(NSString*)region
    resourceIds:(NSString*)resourceIds
    renewStatus:(NSString*)renewStatus
    relationStatus:(NSString*)relationStatus;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface QueryExpiredResourceParam :NSObject

/// 地域：不传时获取全部
@property (strong,nonatomic,nonnull)  NSString*  region;

/// 产品线：多个用逗号分隔
@property (strong,nonatomic,nonnull)  NSString*  serviceCodes;

/// 到期类型：大于0-订单还有几天到期; 等于0-订单已经到期; 小于0-全部
@property (strong,nonatomic,nonnull)  NSNumber*  expireType;

/// 当前页码
@property (strong,nonatomic,nonnull)  NSNumber*  pageIndex;

/// 每页条数
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;


-(id) initWithRegion:(NSString*) region
    serviceCodes:(NSString*)serviceCodes
    expireType:(NSNumber*)expireType
    pageIndex:(NSNumber*)pageIndex
    pageSize:(NSNumber*)pageSize;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface QueryExpiredResourceResultVo :NSObject

/// 资源Id
@property (strong,nonatomic,nonnull)  NSString*  resourceId;

/// 资源名称
@property (strong,nonatomic,nonnull)  NSString*  resourceName;

/// 产品线
@property (strong,nonatomic,nonnull)  NSString*  serviceCode;

/// 业务线
@property (strong,nonatomic,nonnull)  NSString*  appCode;

/// 已过期天数
@property (strong,nonatomic,nonnull)  NSNumber*  expiredDays;

/// 资源所在区域
@property (strong,nonatomic,nonnull)  NSString*  regionId;

/// 计费类型
@property (strong,nonatomic,nonnull)  NSNumber*  billingType;


-(id) initWithResourceId:(NSString*) resourceId
    resourceName:(NSString*)resourceName
    serviceCode:(NSString*)serviceCode
    appCode:(NSString*)appCode
    expiredDays:(NSNumber*)expiredDays
    regionId:(NSString*)regionId
    billingType:(NSNumber*)billingType;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SetRenewalParam :NSObject

/// 业务线
@property (strong,nonatomic,nonnull)  NSString*  appCode;

/// 产品线
@property (strong,nonatomic,nonnull)  NSString*  serviceCode;

/// 续费时长
@property (strong,nonatomic,nonnull)  NSNumber*  timeSpan;

/// 时间单位(MONTH-月,YEAR-年)
@property (strong,nonatomic,nonnull)  NSString*  timeUnit;

/// 资源ID列表,英文逗号分隔
@property (strong,nonatomic,nonnull)  NSString*  instanceIds;

/// 自动续费状态(OPEN-开通自动续费,CLOSE-关闭自动续费,MODIFY-修改自动续费)
@property (strong,nonatomic,nonnull)  NSString*  autoRenewStatus;

/// 是否绑定关联资源一并开通自动续费(UNBIND：不绑定，BIND：绑定)
@property (strong,nonatomic,nonnull)  NSString*  allAutoPay;


-(id) initWithAppCode:(NSString*) appCode
    serviceCode:(NSString*)serviceCode
    timeSpan:(NSNumber*)timeSpan
    timeUnit:(NSString*)timeUnit
    instanceIds:(NSString*)instanceIds
    autoRenewStatus:(NSString*)autoRenewStatus
    allAutoPay:(NSString*)allAutoPay;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RenewInstanceParam :NSObject

/// 业务线
@property (strong,nonatomic,nonnull)  NSString*  appCode;

/// 产品线
@property (strong,nonatomic,nonnull)  NSString*  serviceCode;

/// 续费时长(timeUnit&#x3D;MONTH时只能传1、2、3、4、5、6、7、8、9,timeUnit&#x3D;YEAR时只能传1、2、3)
@property (strong,nonatomic,nonnull)  NSNumber*  timeSpan;

/// 时间单位(MONTH-月,YEAR-年)
@property (strong,nonatomic,nonnull)  NSString*  timeUnit;

/// 待续费资源ID列表,英文逗号分隔
@property (strong,nonatomic,nonnull)  NSString*  instanceIds;

/// 是否统一到期日续费(YES-是,NO-否)，默认为NO
@property (strong,nonatomic,nonnull)  NSString*  unifyDate;

/// 是否自动支付，默认为true，外部用户调用时只能传true
@property (strong,nonatomic,nonnull)  NSNumber*  autoPay;

/// 支付成功后的回调地址
@property (strong,nonatomic,nonnull)  NSString*  returnURL;


-(id) initWithAppCode:(NSString*) appCode
    serviceCode:(NSString*)serviceCode
    timeSpan:(NSNumber*)timeSpan
    timeUnit:(NSString*)timeUnit
    instanceIds:(NSString*)instanceIds
    unifyDate:(NSString*)unifyDate
    autoPay:(NSNumber*)autoPay
    returnURL:(NSString*)returnURL;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface QueryInstanceParam :NSObject

/// 业务线
@property (strong,nonatomic,nonnull)  NSString*  appCode;

/// 产品线
@property (strong,nonatomic,nonnull)  NSString*  serviceCode;

/// 资源名称
@property (strong,nonatomic,nonnull)  NSString*  instanceName;

/// 资源ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;

/// 资源续费状态(AUTO-开通自动续费资源,MANUAL-未开通自动续费资源,ALL-全部资源)，默认为全部
@property (strong,nonatomic,nonnull)  NSString*  renewStatus;

/// 资源计费类型(CONFIG-按配置,FLOW-按用量,MONTHLY-包年包月)，不传显示全部计费类型的资源
@property (strong,nonatomic,nonnull)  NSString*  billingType;

/// 资源到期类型(EXPIRED-已到期,UNEXPIRED-未到期,ONE-1天内到期,THREE-3天内到期,SEVEN-7天内到期,ALL_TIME-全部)，默认为全部
@property (strong,nonatomic,nonnull)  NSString*  expireType;

/// 主机绑定的内网IP地址
@property (strong,nonatomic,nonnull)  NSString*  ipAddress;

/// 当前页码，不传默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;

/// 每页条数，不传默认为10
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;


-(id) initWithAppCode:(NSString*) appCode
    serviceCode:(NSString*)serviceCode
    instanceName:(NSString*)instanceName
    instanceId:(NSString*)instanceId
    renewStatus:(NSString*)renewStatus
    billingType:(NSString*)billingType
    expireType:(NSString*)expireType
    ipAddress:(NSString*)ipAddress
    pageNumber:(NSNumber*)pageNumber
    pageSize:(NSNumber*)pageSize;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ListQuery :NSObject

/// 业务线
@property (strong,nonatomic,nonnull)  NSString*  appCode;

/// 产品线
@property (strong,nonatomic,nonnull)  NSString*  serviceCode;

/// 资源ID
@property (strong,nonatomic,nonnull)  NSString*  resourceId;

/// 资源名称
@property (strong,nonatomic,nonnull)  NSString*  resourceName;

/// 地域
@property (strong,nonatomic,nonnull)  NSString*  region;

/// 资源计费类型(CONFIG-按配置,FLOW-按用量,MONTHLY-包年包月)
@property (strong,nonatomic,nonnull)  NSString*  billingType;

/// 资源到期时间
@property (strong,nonatomic,nonnull)  NSString*  expireTime;

/// 倒计时
@property (strong,nonatomic,nonnull)  NSNumber*  lastTime;

/// 开通自动续费状态(UNOPENED-未开通,OPENED-已开通)
@property (strong,nonatomic,nonnull)  NSString*  autoRenewStatus;

/// 自动续费周期，单位为月
@property (strong,nonatomic,nonnull)  NSString*  autoRenewPeriod;

/// 是否绑定关联资源一并开通自动续费(AUTO_RENEW:关联包年包月资源一并自动续费 UN_AUTO_RENEW：关联包年包月资源不自动续费)
@property (strong,nonatomic,nonnull)  NSString*  associateResource;

/// 扩展字段，包括数据库类型、资源特殊说明等
@property (strong,nonatomic,nonnull)  NSString*  extendField;

/// 绑定资源列表
@property (strong,nonatomic,nonnull)  NSArray<RelationResource*>*  relationList;


-(id) initWithAppCode:(NSString*) appCode
    serviceCode:(NSString*)serviceCode
    resourceId:(NSString*)resourceId
    resourceName:(NSString*)resourceName
    region:(NSString*)region
    billingType:(NSString*)billingType
    expireTime:(NSString*)expireTime
    lastTime:(NSNumber*)lastTime
    autoRenewStatus:(NSString*)autoRenewStatus
    autoRenewPeriod:(NSString*)autoRenewPeriod
    associateResource:(NSString*)associateResource
    extendField:(NSString*)extendField
    relationList:(NSArray<RelationResource*>*)relationList;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ResourceMapResult :NSObject

/// 产品线
@property (strong,nonatomic,nonnull)  NSString*  serviceCode;

/// 该产品线的已过期资源信息
@property (strong,nonatomic,nonnull)  NSArray<QueryExpiredResourceResultVo*>*  resourceList;

/// 该产品线的已过期资源总数
@property (strong,nonatomic,nonnull)  NSNumber*  totalNumber;

/// 该产品线的已过期资源ID信息
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  resourceIdList;


-(id) initWithServiceCode:(NSString*) serviceCode
    resourceList:(NSArray<QueryExpiredResourceResultVo*>*)resourceList
    totalNumber:(NSNumber*)totalNumber
    resourceIdList:(NSArray<NSString*>*)resourceIdList;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end

#endif /* RenewalModel_h */
